type ReplaceAll<S extends string, From extends string, To extends string> = 
    S extends `${infer R}${From}${infer P}` ? From extends '' ? S : `${R}${To}${ReplaceAll<`${P}`, From, To>}` : S